<?php
	/**
	 * Fonction permetant de sécuriser une variable
	 * @param String, int $var variable devant être sécurisée
	 * @param String $type choix entre int, string
	 */
	function secur($var, $type) {
		switch($type)
		{
			case 'int' :
				return intval($var);
			case 'string':
				return mysql_real_escape_string($var);
			default:
				exit('"'.$type.'" n\'est pas une entree valide attention. (function secur($var, $type), file fonctions.php) :D');
		}
	}
	
	/**
	 * Fonction permettant de vérifier si la variable est correct
	 * @param String $var
	 * @param String $type choix entre date, time, mail, string
	 * @return boolean 
	 */
	function verif($var, $type, $noteMax = null) {
		switch($type)
		{
			case 'date':
				if(preg_match("!^(0?\d|[12]\d|3[01])/(0?\d|1[012])/((?:19|20)\d{2})$!", $var))
					return true;
				else
					return false;
			case 'time':
				if(preg_match("!^(((0|1)[0-9])|(2[0-3])):([0-5][0-9])$!", $var))
					return true;
				else
					return false;
			case 'mail':
				if(preg_match("!^[a-z0-9|.|-]*@+[a-z|.|-]*\.[a-z]{2,4}$!", $var))
					return true;
				else
					return false;
			case 'string':
				if(preg_match("!^[a-zA-Z_àäâéèëêïîöôüûùç0-9-]+$!", $var))
					return true;
				else
					return false;
			case 'note':
				if($var >= -$noteMax && $var <= $noteMax)
					return true;
				else
					return false;
			default:
				exit('"'.$type.'" n\'est pas une entree valide attention. (function verif($var, $type), file fonctions.php) :D');
		}
	}
	
	/**
	 * Fonction permettant d'afficher la variable passée en parametre sans \ et d'afficher les " et ' en html
	 * @param String $var variable devant être affichée
	 */
	function show($var) {
		return stripslashes(htmlentities($var, ENT_QUOTES));
	}
	
	/**
	 * Fonction permettant de comparer 2 date
	 * @param date $date1
	 * @param date $date2
	 * @return int 1 si $date1 est plus petite que $date2, 0 si elles sont identiques, -1 si $date1 est plus grande que $date2
	 */
	function isLater($date1, $date2) {
		$day1   = substr($date1, 0,2);
		$month1 = substr($date1, 3,2);
		$year1  = substr($date1, 6,4);

		$day2   = substr($date2, 0,2);
		$month2 = substr($date2, 3,2);
		$year2  = substr($date2, 6,4);
		
		//$date1 < $date2
		if( ($year2 > $year1) || ($year2 == $year1 && $month2 > $month1) || ($year2 == $year1 && $month2 == $month1 && $day2 > $day1))
			return 1;
		//$date1 = $date2
		elseif($year2 == $year1 && $month2 == $month1 && $day2 == $day1)
			return 0;
		//$date1 > $date2
		else 
			return -1;
						
	}
	
	/**
	 * Fonction permettant de comparer 2 champs time
	 * @param time $time1
	 * @param time $time2
	 * @return int 1 si $time1 est plus petit que $time2, 0 si ils sont identiques, -1 si $time1 est plus grand que $time2
	 */
	function isLaterTime($time1, $time2) {
		$heure1   = substr($time1, 0,2);
		$minute1 = substr($time1, 3,2);
	
		$heure2   = substr($time2, 0,2);
		$minute2 = substr($time2, 3,2);
	
		//$time1 < $time2
		if( ($heure2 > $heure1) || ($heure2 == $heure1 && $minute2 > $minute1))
			return 1;
		//$time1 = $time2
		elseif($heure2 == $heure1 && $minute2 == $minute1)
			return 0;
		//$time1 > $time2
		else
			return -1;
	
	}
	
	function cleanCaract($chaine) { 
		$search = array ('@[éèêëÊËÉ]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
		$replace = array ('e','a','i','u','o','c','_','');
		return preg_replace($search, $replace, $chaine);
	}
?>